# 对应CSDN python系列专栏博客
# 对应2024/04/06 的python博客
# 主题：玩转 Python 表达式：探索赋值、位运算符到成员运算符的奥秘
# 一、什么是运算符
# 略

# 二、算术运算符及其表达式
# 例题 求自然数268的逆序数并输出
num = 268
n1 = num // 100
n2 = num // 10 % 10
n3 = num % 10
result = n3 * 100 + n2 * 10 + n1
print(f"原自然数：{num}\t", f"逆序自然数:{result}")

# 三、赋值运算符及其表达式
# 略

# 四、 逻辑运算符及其表达式
# 略

# 五、 关系运算符及其表达式
Bool = 3 > 1 > 2
# 等价于 3 > 1 and 1 > 2
print(Bool)

# 六、 成员运算符
str1 = "hello"
str2 = "hello world"
if str1 in str2:
    print("str1 in str2")
else:
    print("str1 not in str2")

# 七、 身份运算符
# 略
# 八、 位运算符
key = input("请输入要加密的密钥:")
enc = input("请输入要加密的字符:")
dec = ord(key) ^ ord(enc)
print("加密结果:", chr(dec))
enc = ord(key) ^ dec
print("解密结果:", chr(enc))

# 九、运算符优先级
# 略

# 十、补充说明
i = 5
print(++i)
print(--i)
print(i--3)